package com.zhyl.zhyl_detect_demo.utils.camera;

import android.hardware.Camera;
import android.util.Log;


public interface CameraListener {
    static final String TAG = "MainActivity";
    /**
     * 当打开时执行
     *
     * @param camera             相机实例
     * @param cameraId           相机ID
     * @param displayOrientation 相机预览旋转角度
     * @param isMirror           是否镜像显示
     */
    default void onCameraOpened(Camera camera, int cameraId, int displayOrientation, boolean isMirror) {

    }

    /**
     * 预览数据回调
     * @param data 预览数据
     * @param camera 相机实例
     */
    default void onPreview(byte[] data, Camera camera){}

    /**
     * 当相机关闭时执行
     */
    default void onCameraClosed(){
        Log.i(TAG, "onCameraClosed: ");
    }

    /**
     * 当出现异常时执行
     * @param e 相机相关异常
     */
    default void onCameraError(Exception e){
        Log.i(TAG, "onCameraError: " + e.getMessage());
    }

    /**
     * 属性变化时调用
     * @param cameraID  相机ID
     * @param displayOrientation    相机旋转方向
     */
    default void onCameraConfigurationChanged(int cameraID, int displayOrientation){
        Log.i(TAG, "onCameraConfigurationChanged: " + cameraID + "  " + displayOrientation);
    }
}
